A network can be considered as an interconnected system of things or people where the things or people can be referred to as elements or nodes in the network. One example of a network is a system of interconnected computers or devices. These computers or devices may include, e.g., servers, storage devices, routers, etc. The devices may be connected in many ways including, for example, telephone line, Ethernet, or wireless. Further, the computer network may be perceived, or managed, as a network of interconnected software programs, i.e., operating systems, accounting systems, virtual machines, etc.
With any network, it is often helpful, or necessary from an administrative perspective, to be able to visualize the nodes or elements and their respective connections, i.e., visualize the topology of the network. A topology diagram graphically depicts relationships between the elements or nodes in the network. The diagram includes lines, or edges, representing connections or relationships between interconnected nodes. These diagrams, however, can become quite complex, especially when there is an attempt to simultaneously show multiple relationships for a large number of elements.
Known topology diagrams fall into two categories. The first category of diagrams represents only one relationship between nodes, for example, the subnets of a computer network. This technique of only showing one relationship cannot be easily or efficiently applied to systems or networks in which each element is related to more than one other element because multiple maps or diagrams would be necessary. In a second category of diagram, multiple relationships may be shown but the diagram elements are positioned statically based on some metadata of the node, for example, the type of element or the element's geographic location. This static positioning, however, causes a number of edge, i.e., connection, crossings to increase dramatically as the number of elements increases.
One shortcoming of such known diagrams is that the diagram becomes unreadable as the number of elements or nodes being represented increases. While such diagrams work well for systems in which each element or node is related to only one other element or node, such as a hierarchical topology, as the number of relationships per element or node increases, however, the lines required to represent the relationships in the diagram will cross each other. Such a diagram, with a large number of intersecting lines, quickly becomes almost unreadable.
Traditional topological diagrams statically position graph elements as a function of a particular characteristic. As shown in FIG. 1, such static positioning inevitably leads to multiple line crossings. As shown in the topology diagram 100, the static positioning of the devices LUN1, LUN2 with respect to their networks SAN1, SAN2, and further with respect to the server icons Server1, Server2, Server3, etc., results in a number of line crossings, where lines represent connectivity, that decreases the readability of the diagram.
In addition, and similar to the display 100 shown in FIG. 1, another topology display 200, as shown in FIG. 2, is also difficult to read due to the large number of line crossings. It is interesting to note that each of the diagrams 100, 200 contains just fourteen elements but each is still difficult to read. As evidenced by FIG. 2, rearranging the locations of static elements in a graph does not help to clarify the diagram. Due to the limitations of static positioning, as the number of elements increases, diagrams such as these would become unreadable.